package y_2025.m04.d04.t01;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {
    public int[][] merge(int[][] intervals) {
        if(intervals.length == 1) {
            return intervals;
        }
        Arrays.sort(intervals, (a, b)->a[0]-b[0]);
        int l =intervals.length;
        List<int[]> res = new ArrayList<int[]>();
        res.add(intervals[0]);
        int index = 1;
        for(int i = 1; i < l; i++){
            if(intervals[i][0]<=res.get(index-1)[1]) {
                res.get(index-1)[1] = Math.max(intervals[i][1], res.get(index-1)[1]);
            } else {
                res.add(intervals[i]);
                index++;
            }
        }
        
        return res.toArray(new int[res.size()][]);
    }
}